// const f = [];
// var climbStairs = function(n) {
//     if (n == 1) {
//         return 1;
//     } 
//     if (n == 2) {
//         return 2;4
//     }
//     if(f[n]===undefined){//如果没有这个值，就计算这个值。
//         f[n] = climbStairs(n-1)+climbStairs(n-2);
//     }
//     return f[n];//如果有这个值，就直接返回这个值。
// }
// console.log(climbStairs(10));
//fn(n) = fn(n-1) + fn(n-2) //动态推到方程式
var climbStairs = function(n) {
    const f = [];
    f[1] = 1;
    f[2] = 2;
    for (let i = 3; i <= n; i++) {
        f[i] = f[i-1] + f[i-2];
    }
    return f[n];
}